package com.jixiantubu.adapter;

import java.util.ArrayList;
import java.util.List;
import com.example.jixiantubu.R;
import com.jixiantubu.bean.Wo_Data;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class Wo_guanzhugerenAdapter extends BaseAdapter {
	// 通过构造器获取数据来源
	List<Wo_Data> list = new ArrayList<Wo_Data>();
	// 接收上下文参数，以便 了解是哪个Activity在调用
	Context context;
	// 用来初始化布局文件，可以吧一个xml布局转换为Android里面的view
	LayoutInflater mInflater;

	public Wo_guanzhugerenAdapter(List<Wo_Data> list, Context context) {
		super();
		this.list = list;
		this.context = context;
		mInflater = LayoutInflater.from(context);
	}

	@Override
	public int getCount() {
		// // 数据总量
		return list.size();
	}

	@Override
	public Object getItem(int arg0) {
		// 返回每一行数据
		return list.get(arg0);
	}

	@Override
	public long getItemId(int arg0) {
		// 返回每一行的id，几乎很少用到
		return arg0;
	}

	ViewHolder mHolder = null;

	@Override
	public View getView(int arg0, View arg1, ViewGroup arg2) {
		// 告知每一行的布局样式，同时指定每一行的数据来自哪里
		// 第一个参数指:列表的索引值，从0开始；第二个是每一行的布局，；第三个指的是每一行的父布局，没有则写null
		// 这里，每一行的布局是item.xml
		if (arg1 == null) {
			arg1 = mInflater.inflate(R.layout.wo_guanzhugeren, null);
			// 初始化每一行的控件
			mHolder = new ViewHolder();
			mHolder.wo_guanzhu_geren = (ImageView) arg1
					.findViewById(R.id.wo_guanzhu_geren);
			mHolder.wo_guanzhu_gerentextView = (TextView) arg1
					.findViewById(R.id.wo_guanzhu_gerentextView);
			// 首次调用getView,创建viewHolder实例，初始化控件，并把这个实例缓存到及界面上
			arg1.setTag(mHolder);
		} else {
			// 不是第一次调用直接取出缓存中的viewHolder即可
			mHolder = (ViewHolder) arg1.getTag();
		}
		// 指定每一行布局对应的数据
		int resId = list.get(arg0).getPicIcId();
		mHolder.wo_guanzhu_geren.setImageResource(resId);
		final String text = list.get(arg0).getText();
		mHolder.wo_guanzhu_gerentextView.setText(text);

		// 监听button单击事件
		return arg1;
	}

	class ViewHolder {
		// 做界面缓存工作
		ImageView wo_guanzhu_geren;
		TextView wo_guanzhu_gerentextView;

	}
}
